Users may employ a variety of communications networks to enable call sessions between end points, such as telephones, computer systems fitted with voice processing capabilities, and other devices. For example, two common types of networks are circuit-switched networks and packet-based networks. In a circuit-switched network, a dedicated, end-to-end circuit connection is established for the duration of each call, which works well for communications that are generally continuous, such as speech between two end users.
In contrast, packet-based networks typically communicate by use of packets sent in a series of bursts. The packets are generally communicated when needed, without an explicit connection defined between the two end points. Instead, routing is based on addresses carried in the packets. Examples of packet-based networks include Internet Protocol (IP) networks and Asynchronous Transfer Mode (ATM) networks or Frame Relay networks. In IP networks, which are typically connectionless-oriented networks, packets or other units of data are injected into the network, where the packets travel independently over any path (and possibly over different paths) to a destination point. The packets may even arrive out of order. In ATM networks, which are typically connection-oriented networks, a virtual circuit or connection is established between two end points, and packets are received in the same order in which they were transmitted.
With the availability of a variety of different types of communications networks, inter-network communications has become desirable. Developers, for example, have introduced media gateway controllers (MGCs) to connect circuit-switched networks and packet-based networks through media gateways. Media gateway controllers in general manage call signaling conversion and call routing across the circuit-switched and packet data network.
A call, for example, may originate from a first terminal connected to a first circuit-switched network with the destination being a second terminal connected to a second circuit-switched network, with the two circuit-switched networks connected by a packet-based network. In one embodiment, the interface between the first circuit-switched network and packet-based network may be controlled by one media gateway controller, while the interface between the second circuit-switched network and packet-based network may be controlled by another media gateway controller.
Interconnection of various types of networks has in some ways complicated the task of completing a call placed over the packet-based network, particularly when two or more media gateway controllers are involved. For example, it may not be possible to collect digits (between two or more MGCs) unless a bearer path is first established over the packet-based network between the originating and terminating media gateways. Digit collection generally refers to collecting digits in response to a prompt, which typically occurs after a user dials a destination number. Examples of collecting digits may include collecting caller personal identification numbers (PIN), passwords, phone numbers, credit card numbers, phone card numbers, and the like for the purposes of authenticating the user and/or to identify the destination.
As mentioned above, collecting digits typically involves establishing a bearer path over the packet-based network. However, establishing a bearer path before the digits have been collected may result in unnecessary consumption of resources, particularly since the receiving MGC may not be able to correctly identify the terminating media gateway until the desired digits have been collected. As such, unnecessary re-routing (sometimes referred to as hairpinning) may result in completing the call.
A need thus exists for an efficient method and apparatus of collecting information, such as digits, to establish a call or during a call.